package ricky.scene
{
	/**
	 * 地图数据
	 */
	public class MapData
	{
		public function MapData()
		{
			
		}
		
		/**
		 * 地图url根路径
		 */
		public var mapURLPath:String;
		
		/**
		 * 地图名字
		 */
		public var name:String;
		
		/**
		 * 地图描述
		 */
		public var discription:String;
		
		/**
		 * 用来寻路的数组
		 */
		public var data:Array=[];
		
		/**
		 * 最小寻路单元格宽
		 */
		public var titleWidth:Number=40;
		
		/**
		 * 最小寻路单元格高
		 */
		public var titleHeight:Number=30;
		
		/**
		 * 地图区块格子宽
		 */
		public var gridWidth:Number=350;
		
		/**
		 * 地图区块格子高
		 */
		public var gridHeight:Number=350;
		
		/**
		 * title的列x 宽度
		 */
		public var col:int=1;
		
		/**
		 * title的行y 高度
		 */
		public var row:int=1;
		
		/**
		 * 小地图url路径
		 */
		public var smallMapURL:String="";
		
		/**
		 * 地图宽
		 */
		public var width:Number=1;
		
		/**
		 * 地图高
		 */
		public var height:Number=1;
		
		/**
		 * 怪物配置
		 */
		public var monster:String="";
		
		/**
		 * ai脚本
		 */
		public var aiScript:String="";
		
		/**
		 * 出生点坐标
		 * [[x,y,],[x,y]]
		 */
		public function get bornRect():String
		{
			return _bornRect;
		}

		/**
		 * @private
		 */
		public function set bornRect(value:String):void
		{
			_bornRect = value;
			_borns=new Vector.<Array>();
			var pos:Array=_bornRect.split("");
			var len:int=pos.length/4;
			var j:int=0;var x1:int,x2:int,y1:int,y2:int;
			for (var i:int=0;i< len;i++)
			{
				j=i*4;
				x1=int(pos[j]);
				y1=int(pos[j+1]);
				x2=int(pos[j+2]);
				y2=int(pos[j+3]);
				_borns.push([x1,y1,x2,y2]);
			}
		}
		
		public function getBorn(i:int=0):Array
		{
			var x1:int,x2:int,y1:int,y2:int,len:int;
			var re:Array=[0,0];
			if(_borns.length>i)
			{
				var pos:Array=_borns[i];
				x1=pos[0];
				y1=pos[1];
				x2=pos[2];
				y2=pos[3];
				len=Math.abs(x1-x2)+1;
				x1=x1+Math.random()*len;
				len=Math.abs(y2-y1)+1;
				y1=y1+Math.random()*len;
				re[0]=x1;
				re[1]=y1;
			}
			
			return re;
		}

//		/**
//		 * 出生地点
//		 */
//		public function set bornPosition(value:String):void
//		{
//			borns=[];
//			var pos:Array=value.split(",");
//			var x:Number,y:Number;
//			var xy:Array;
//			for each (var p1:String in pos)
//			{
//				xy=p1.split(":");
//				x=Number(xy[0]);
//				y=Number(xy[1]);
//				borns.push([x,y]);
//			}
//		}
		
		private var _borns:Vector.<Array>;
		
		private var _bornRect:String;
	}
}